﻿using System;
using System.Collections.Generic;
using System.Text;

namespace ClassLibraryEntidades
{
    [Serializable]
    public class Ruta
    {
        public enum TiposRuta
        {
            Ecologica,
            Rapida,
            Economica
        }

        public TiposRuta tipoRuta;

        public List<Arco> arcos;

        public string IDRuta;


        public Ruta()
        {
            arcos = new List<Arco>();
            tipoRuta = TiposRuta.Ecologica;
        }

        public Ruta(string stringTipoRuta, List<Arco> arcos)
        {
            this.tipoRuta = (TiposRuta)Enum.Parse(typeof(TiposRuta), stringTipoRuta, true);
            this.arcos = new List<Arco>(arcos.ToArray());
        }


        public List<Nodo> DameNodos()
        {
            int num_arcos = arcos.Count;

            List<Nodo> nodos = new List<Nodo>(num_arcos + 1);

            foreach (Arco arco in arcos)
            {
                nodos.Add(arco.origen);
            }
            nodos.Add(arcos[num_arcos - 1].destino);

            return nodos;
        }
    }
}
